<?php
define('SMARTY_MBSTRING', function_exists('mb_split'));
define('SMARTY_RESOURCE_CHAR_SET', SMARTY_MBSTRING ? 'UTF-8' : 'ISO-8859-1');

if (! function_exists('array_flatten')) {

    /**
     * 将多维数组转化为一维数组
     *
     * @param array $array
     * @return array
     */
    function array_flatten($array)
    {
        $return = array();

        array_walk_recursive($array, function ($x) use(&$return)
        {
            $return[] = $x;
        });

        return $return;
    }
}

if (! function_exists('truncate')) {

    /**
     * 视图中截取字符串
     *
     * @param string $string
     * @return string
     */
    function truncate($string, $length = 80, $etc = '...', $break_words = false, $middle = false)
    {
        if ($length == 0)
            return '';

        if (SMARTY_MBSTRING === true) {
            if (mb_strlen($string, SMARTY_RESOURCE_CHAR_SET) > $length) {
                $length -= min($length, mb_strlen($etc, SMARTY_RESOURCE_CHAR_SET));
                if (! $break_words && ! $middle) {
                    $string = preg_replace('/\s+?(\S+)?$/' . 'u', '', mb_substr($string, 0, $length + 1, SMARTY_RESOURCE_CHAR_SET));
                }
                if (! $middle) {
                    return mb_substr($string, 0, $length, SMARTY_RESOURCE_CHAR_SET) . $etc;
                }

                return mb_substr($string, 0, $length / 2, SMARTY_RESOURCE_CHAR_SET) . $etc . mb_substr($string, - $length / 2, $length, SMARTY_RESOURCE_CHAR_SET);
            }

            return $string;
        }
    }
}

if (! function_exists('is_mobile')) {

    /**
     * 验证手机号码
     *
     * @param type $mobile
     */
    function is_mobile($mobile)
    {
        return preg_match("/^1[3-9][0-9]{9}$/", $mobile);
    }
}

if (! function_exists('filepath')) {

    /**
     * 获取文件路径，合并pipaw的图片路径，使得都能显示
     *
     * @param type $path
     */
    function filepath($path)
    {
        if (strpos($path, '/') === 0) {
            // 本系统建立的文件
            return Yii::$app->params['filePath'] . $path;
        }
        // pipaw的文件
        return Yii::$app->params['pipawImgPath'] . $path;
    }
}

if (! function_exists('softpath')) {

    /**
     * 获取文件路径，合并pipaw的图片路径，使得都能显示
     *
     * @param type $path
     */
    function softpath($path)
    {
        //if (strpos($path,'down10') === 0) {
            return 'http://down2.pipaw.net/' . $path;
        //}
        //return $path;
    }
}

if (! function_exists('getostype')) {

    /**
     * 获取触屏版手机系统类型
     */
    function getostype()
    {
        $agent = strtolower($_SERVER['HTTP_USER_AGENT']);
        $iphone = (strpos($agent, 'iphone')) ? true : false;
        $ipad = (strpos($agent, 'ipad')) ? true : false;
        $android = (strpos($agent, 'android')) ? true : false;
        return (($ipad || $iphone) ? 2 : 1);
    }
}
